#include<iostream>
#include<vector>
using  namespace std;
 int pivotIndex(vector<int>& nums) {
        //前缀和的思想
        //先预处理出前缀和和后缀和数组
        //f[i] 表示前i-1的和 ,f[i] = f[i-1] + nums[i-1];
        int n = nums.size();
        vector<int> f(n);
        f[0] = 0;
        for(size_t i = 1 ; i < n ; i++ ){
            f[i] = f[i-1] + nums[i-1];
        }
        //g[i] 表示从i+1 到 n-1的元素的和 g[i] = g [i+1]+ nums[i+1]

        vector<int> g(n);
        g[n - 1] = 0;
        for(int i = n-2 ; i >=0 ; i--){
            g[i] = g[i+1] + nums[i+1];
        }
        for(size_t i = 0 ; i < n ; i++){
            if(f[i] == g[i])
                return i;
        }
        return -1;
    }


int main(){
    vector<int> v{1,7,3,6,5,6};
    cout<<pivotIndex(v);
    return 0;
}